package InterfaceOffer;

import java.util.Scanner;

// 搬家，跨过木桩
// 用时15分钟，答案错误 AC了 64%
// 自测 7 3 0 || 6 0 9 0 0 0 6 输出 -1
// 用时22分钟， AC all
public class MtSolution2 {
    public static void main(String[] args) {
        /*
         * 对于每个小于h的数字作为起点，看看是否存在连续m个数都小于等于h，如果是的话，可以作为一个起点
         * 返回最小的起点，意味着当找到第一个这样的数的时候，返回即可
         * */
        Scanner in = new Scanner(System.in);
        int n, m, h;
        boolean flag = true;
        n = in.nextInt();
        m = in.nextInt();
        h = in.nextInt();
        int[] heights = new int[n + 1];
        for (int i = 1; i < n + 1; i++) {
            heights[i] = in.nextInt();
        }
        for (int i = 1; i < n + 1; i++) {
            if (heights[i] > h)
                continue;
            // 当前数高度小于h，看是否存在连续的m个小于h的数，如果不存在，则i直接跳过后续不满足情况的数
            // 注意 j应该小于m-1而不是m，因为i这个位置占了一个位置
            int j, k;
            for (j = 0, k = i + 1; j < m - 1 && k < n + 1; j++, k++) {
                if (heights[k] > h)
                    break;
            }
            if (j < m - 1) {
                i = k;
            } else {
                System.out.println(i);
                flag = false;
                break;
            }
        }
        if (flag)
            System.out.println(-1);
    }
}
